﻿// 4421. 信号.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*
https://www.acwing.com/problem/content/4424/

有 n
 个房子排成一排，从左到右依次编号为 1∼n
。

其中一些房子内装有无线信号发射器。

这些信号发射器的有效覆盖半径为 r
。

更准确地说，如果第 p
 号房子内装有信号发射器，则所有房间编号在 [p−r+1,p+r−1]
 范围内的房子均可被其发出的无线信号覆盖，而其余房子则不会被其发出的无线信号覆盖。

例如，假设 n=6,r=2
，且第 2、5
 号房子内装有信号发射器，则第 2
 号房子内的发射器发出的信号可以覆盖第 1∼3
 号房子，第 5
 号房子内的发射器发出的信号可以覆盖第 4∼6
 号房子，将两个发射器全部打开，则无线信号可以覆盖到所有房子。

初始时，所有无线信号发射器都是关闭的，请计算至少开启多少个无线信号发射器，才能保证所有房子都被无线信号覆盖到。

输入格式
第一行包含两个整数 n
 和 r
。

第二行包含 n
 个整数 a1,a2,…,an
，每个数要么是 1
，要么是 0
，ai=1
 表示第 i
 号房子内装有无线信号发射器，ai=0
 表示第 i
 号房子内未装无线信号发射器。

输出格式
一个整数，表示需要开启的无线信号发射器的最少数量。

如果无法使得所有房子都被无线信号覆盖到，则输出 −1
。

数据范围
前 6
 个测试点满足 1≤n≤10
。
所有测试点满足 1≤n,r≤1000
，0≤ai≤1
。

输入样例1：
6 2
0 1 1 0 0 1
输出样例1：
3
输入样例2：
5 3
1 0 0 0 1
输出样例2：
2
输入样例3：
5 10
0 0 0 0 0
输出样例3：
-1
输入样例4：
10 3
0 0 1 1 0 1 0 0 0 1
输出样例4：
3
*/
#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

 